In the past, subscribers of a network operator could only operate within a network that uses the same radio access technologies (RAT) as their home network operator or within core networks of the same type, such as different radio access networks (RAN) that use a similar type of core network (CN) as the home network. With the introduction of multi-mode devices that support different types of RANs/CNs (e.g. RANs and CNs defined in 3GPP and 3GPP2 specifications) and inter-core network support, it is now possible to roam between networks with different RAN/CN and receive service. Roaming between a 3GPP2 network such as a cdma2000 (code division multiple access 2000) and a 3GPP network, such as a GPRS (General Packet Radio Service) network, is described in 3GPP2 X.S0034-0 (TIA-1068) “cdma2000/GPRS roaming”, Version 1.0, April 2005. Such networks use different RAN and CN. Examples of RANs/CNs defined in 3GPP that use different RATs are GSM/GPRS/EDGE, UMTS/HSPA, and LTE. Examples of RANs/CNs defined in 3GPP2 that use different RATs are cdmaOne, cdma2000 1x, and cdma2000 1x EV-DO.
In the case of multi-mode EDGE/HSPA/cdma2000 (Enhanced Data Rates for GSM/High Speed Packet Access/cdma2000) devices, call processing while the device is roaming is handled through a network entity called Inter-working and Interoperability Function (IIF), such as those produced by Syniverse™. The IIF handles a CDMA-centric multi-mode device while it roams on an EDGE/HSPA network and an EDGE/HSPA-centric device while it is roaming on a cdma2000 network. An example of a network operator that uses EDGE/HSPA network is Vodaphone™. An example of a network operator that uses cdma2000 network is Verizon™.
A typical cellular network provides supplementary services (SS) to the end users or subscribers in addition to a main service, such as voice calling. Examples of supplementary services are call barring, call forwarding, advice of charge, call waiting, caller identification, unstructured supplementary service data, etc. In some networks, users invoke SS by pressing “*” on a keypad of their respective devices followed by a numeric code or other related information or both. These codes are referred to as Supplementary Service Codes (SSC) or Feature Codes. While wireless networks using the same core network usually use the same method for supplementary services, different core networks use different methods and provide different capabilities. For example, an ANSI-41-based 3GPP2 core network (such as cdma2000) and a GSM-MAP-based 3GPP core network (such as GSM/HSPA network) may use different SSC for different SS functionality, use a different transport mechanism within the network for such services or use a different call flow sequence for invoking supplementary services. Another exemplary difference is that status inquiry of an SS and results of an SS request are conveyed to an end user in text form in GSM/HSPA networks but not in CDMA2000 networks.